In many applications (see e.g., B Sauert, G Enzner, and P. Vary, “Near end listening enhancement with strict loudspeaker output power constraining”, International Workshop on Acoustic Echo and Noise Control, IWAENC 2006, September 12-14, Paris, France and U.S. Pat. No. 5,943,429) a desired filtering effect is achieved by filtering a signal via a linear filtering operation with a time-domain filter that has been designed to have a desired frequency response. Typically the desired effect varies with time and is designed based on the input signal. In some applications, the desired effect should not alter the average power level of the signal, and, hence, the desired frequency response should be designed so as to give a time-domain filter that does not alter the power level of the signal. Alternatively, a fixed gain of the average power level of the signal may be desired of the filtering operation.
On a DSP, filtering operations with FIR filters are usually performed using fix-point operations on signals represented by a limited number of bits: for audio signals typically 16 bits are used. In order to not lose precision in the output, it is desired that the filter coefficients in the FIR filter are properly scaled: if they are too large the filter output will saturate, and if they are too low some of the bits in the output will not be used and some precision will be lost. Therefore, in some applications it is better to incorporate all filtering effects in the filter coefficients, and not to perform the filtering as a combination of a filtering operation and a scaling operation.
J. Proakis and D. Manolakis, “Digital signal processing”, Prentice Hall and U.S. Pat. No. 7,251,271 disclose methods for designing a time-domain FIR filter with a desired frequency response. In practice, for reasons of computational complexity, the order of the time-domain FIR filter needs often to be short. Furthermore, for the same reason, the desired frequency response is usually only computed for a limited number of frequencies.
The limited length of the FIR filter limits the accuracy by which its frequency response is able to approximate the desired frequency response, particularly when the dynamics of the desired frequency response are large. This may cause the amplification of the power of the signal output from the filtering operation to be different from what is desired, as the FIR filter is not able to fulfill the requirements posed by the desired frequency response that would ensure that the desired amplification of the average power of the input signal would be achieved in the output.
Furthermore, the same thing may happen due to the limited frequency resolution of the desired filter frequency response of the filter, even for the case when the frequency response of the time-domain FIR filter is identical to the desired filter frequency response.
The deceivingly simple way of correcting the power of the output from the filtering operation by a simple scaling of the output to the desired level does not work well using a fixed-point implementation of the filtering operation due to possible truncation and loss of precision in the output prior to the scaling.
A possible solution is to perform the filtering, and then, based on the power of the output, properly scale the coefficients of the FIR filter and perform the filtering a second time to form the final filter output. But an FIR filtering operation is expensive. Thus, from a computational point of view, this solution is not desired.
Another possible solution would be to properly normalize the filter output during the filtering operation. On a DSP this is computationally complex. Moreover, because the FIR filtering operation is a computationally demanding task, it typically needs to be fully optimized. Thus, it is generally not feasible to solve the problem in this manner.
What is desired are systems and methods that reduce the problem of improper amplification of the average power of the output of the filtering operation.